The present invention relates to an echo canceler useful in telephone, teleconferencing, and videoconferencing systems, more particularly to an improvement in double-talk control in the echo canceler.
An echo canceler estimates the echo that will be produced by a signal received from a communication link and subtracts the estimated echo from a local input signal that will be transmitted on the communication link. Estimation of the echo requires estimation of the acoustic transfer characteristics of the echo path. As the transfer characteristics may change over time, echo cancelers that estimate the characteristics adaptively are frequently used.
This leads to the problem of incorrect estimation of the transfer characteristics in so-called double-talk situations, in which parties at both ends of the communication link talk at once. One known solution to this problem provides the echo canceler with two separate filters, one filter being used for estimation of the transfer characteristics while the other filter is used for echo cancellation. This solution is costly, however, and has other disadvantages that will be pointed out in the detailed description of the invention.
An object of the present invention is to provide an effective and inexpensive solution to the problem of double-talk in echo cancellation.
The invented echo canceler removes an echo of a received signal from a local input signal by estimating the transfer characteristics of the echo path, calculating an echo replica from the received signal and the estimated transfer characteristics, subtracting the echo replica from the local input signal to generate a residual signal, and modifying the estimated transfer characteristics according to the received signal and the residual signal.
The echo canceler has a memory that stores past samples of the received signal and past samples of the residual signal. The echo canceler also has a double-talk detector that detects a double-talk condition in the local input signal, and a control unit. When the double-talk condition is detected, the control unit undoes recent modifications of the estimated transfer characteristics, using the stored past samples of the received signal and residual signal.
Undoing the recent modifications when double-talk is detected effectively nullifies incorrect modifications made during the double-talk condition. The invented echo canceler is inexpensive because it does not require a second filter.